Many modern electronic devices incorporate a touch screen to display information and as an input that is activated by touching the display. One technology for implementing the touch aspect of a touch screen is capacitance sensing. An insulator, such as glass, is coated with a transparent conductor, such as indium tin oxide (ITO). Since the human body is an electrical conductor, when a finger actuates the touch screen, such as by touching or even getting very close to its surface, the electrostatic field of the touch screen is distorted, resulting in a measurable change in capacitance.
A mutual capacitance touch screen comprises two layers of material arranged in an X-Y grid such that an actuation of the touch screen can be resolved into a coordinate. A finger is typically larger than the spacing of X-Y grid lines in the layers of a mutual capacitance touch screen. Thus, multiple grid lines can be activated at different signal levels during a single actuation of the touch screen. A capacitive touch screen controller is able to resolve the signals on the X-Y multiple grid lines into an X-Y coordinate. Multiple signals are injected in parallel onto the row ITO traces and sensed in parallel at the column ITO traces. Mutual capacitance between rows and columns is affected by the proximity of fingers and conductive bodies. A touch screen controller decodes the coordinates of a touch upon the screen by repetitively scanning the touch screen sense lines in response to stimulation of the drive lines in accordance with an excitation matrix, E. The excitation matrix E has order M×N where M is the number of drive lines (rows) and N is the number of sense lines (columns) in the touch screen.
In one example, a touch screen has 20 drive lines (M) and 15 sense lines (N). A vector of output voltages Y is measured at each sense line. The order of vector Y is M, the number of columns. To decode the coordinates of a touch based upon capacitance at an intersection of a drive line and a sense line, it is necessary to determine the capacitance of each column vector X, given the vector of measured voltages Y. X is also a vector of order M. The excitation matrix, E, the vector of capacitances for a sense line, X, and the vector of voltages measured at a sense line, Y, are related by the equation E*X=Y, which is represented dimensionally as:
            [                                                  E                              1                ,                1                                                          …                                              E                              1                ,                N                                                                          ⋮                                ⋱                                ⋮                                                              E                              M                ,                1                                                          …                                              E                              M                ,                N                                                        ]        ·          [                                                  X              1                                                            …                                                              X              M                                          ]        =      [                                        Y            1                                                ⋮                                                  Y            M                                ]  In order to find the vector of capacitances X, we must find the inverse of the matrix, E, indicated by E−1, and multiply it by the vector of measured voltages Y, as shown in the equation X=E−1*Y. However, not every matrix can be inverted. Additionally, the condition number of the excitation matrix is important, since a high condition number will result in the amplification of errors and a less perfect estimation of the capacitance values. Generally, the excitation matrices in the prior art do not have condition numbers lower than two. As the condition number of the excitation matrix increases, the signal-to-noise ratio (S/N) deteriorates.
In a mutual capacitance touch screen panel with cross bar ITOs, horizontal row ITO traces are typically very broad and are orthogonally placed under narrow vertical column ITO traces. The vertical-to-horizontal size aspect ratio of mutual capacitance rectangular touch screen panels is related closely to the ratio of rows to columns, and is generally in the 2:1 to 3:1 range. FIG. 1 illustrates a touch screen panel 100 with more horizontal rows than vertical columns. The rows are driven by corresponding amplifiers 110. It is preferable to have more rows than columns, since each vertical column ITO requires a dedicated analog-to-digital converter (A/D) 120 and these A/Ds 120 are expensive in terms of both silicon die area as well as power consumption. The rows require a lower power and much smaller area driver amplifiers. Having more rows than columns is acceptable for smaller panels, even though the phase shift of the excitation signals varies much more over the column pixels than the phase shift over the row pixels, as seen in FIGS. 3A and 3B, which illustrate the phase shift over rows and columns, respectively, of a touch screen panel. In FIG. 3A, the phase shift over the rows of the touch screen panel is indicated by line 310A. In FIG. 3B, the phase shift over the columns of the touch screen panel is indicated by line 310B. Large phase shifts over the column (e.g., greater than 10 degrees) reduce the S/N of the decoded touch profile. The phase shift in the row direction can more easily be compensated by appropriate delays in the down converter sine wave signal than in the column direction, where the phase shift cannot be compensated.
In large panels, the phase shift over the column trace exceeds acceptable limits. One solution is for the large panel to be configured with a 90-degree rotation (i.e., with many more columns than rows) in order to keep the length of the columns small enough so that the phase shift over the columns is within acceptable limits. FIG. 2 illustrates a touch screen panel 200 with more columns than rows. In FIG. 3A, the phase shift over the rows of this rotated touch screen panel is indicated by dotted line 320A. In FIG. 3B, the phase shift over the columns of the rotated touch screen panel is indicated by dotted line 320B. As seen in FIG. 3B, the phase shift over the columns of the rotated touch screen panel, indicated by dotted line 320B, is less than the phase shift over the columns of the non-rotated touch screen panel, indicated by line 310B. Unfortunately, since there are more columns than rows in the rotated configuration, more A/Ds and low-noise amplifiers (LNAs) are being used, which results in the touch controller chip being more expensive, as well as a significant increase in power consumption and silicon die area.
FIG. 4 illustrates a prior art touch screen system 400, which involves exciting the rows of a mutual capacitance touch panel matrix F, 420, with an R×R excitation matrix E, 410. Panel matrix F has R rows and C columns, wherein R>=C. Each column of panel F is dot-multiplied with one selected column of excitation matrix E, which is carried out by row amplifiers 415 driving the row ITOs of the panel F. The process is repeated sequentially every chip time interval k for each column of excitation matrix E. The successive chip time intervals are labeled by k=1 to R. The row elements of the excitation matrix E, which are either 1 or −1, are multiplied with a sine-wave carrier signal 425. There are an integer number of sine wave cycles per chip time interval. The carrier signal is used to frequency translate the signal to a high frequency (e.g., ˜50-500 kHz) in order to have low correlation with low frequency interference from an underlying LCD panel and battery chargers. The panel 420 comprises a cross-bar two-layer configuration of ITO rows and columns. Proximity of a finger changes the mutual capacitance between rows and columns in the vicinity of the finger. The detection of the change in this mutual capacitance is usually in the 1-5% range of the mutual capacitance at the cross-point. The mutual capacitance change relative to the total capacitance is much smaller. The column ITOs are each sensed with a charge-coupled LNA 430, whose output is mixed with the original carrier sine wave and then integrated-and-dumped at the integrate-and-dump block 435 for each period of the excitation row-signal output. The integrated-and-dumped output is then collected into a matrix L, 440, with R rows and C columns. Each column output of the panel is the sum of the row signals affecting the particular column. The cth column signal at the kth chip interval that is stored in matrix L at L(k,c) is given by Equation 1 below. For simplification of this discussion, multiplication of E by the carrier sine wave is omitted from the equation. The range of c is 1 to R, and if C<R, then the panel F is taken as zero for F(r,c) where c>C.L(k,c)=F(1,c)*E(1,k)+F(2,c)*E(2,k)+F(3,c)*E(3,k)+ . . . +F(R,c)*E(R,k).  [Eq. 1]L(k,c)=ΣF(r,c)*E(r,k), summed over r=1 to R. L(k,c)=ΣE′(k,r)*F(r,c), summed over r=1 to R, where E′(k,r)=transpose of E(r,k).Using general matrix multiplication notation Y=A*B, where element Y(i,j)=Σ[A(i,n)*B(n,j)] summed over n,L=E′*F,  [Eq. 2]
where L=L(k,c) is the received column matrix,
E′ is the transpose of E=E(r,k) that is the transmitted Excitation matrix, and
F=F(r,c) is the panel mutual capacitance matrix.
The final column signal L is actually obtained by demodulating with the carrier sine wave followed by an integrate-and-dump operation. To obtain the panel mutual capacitance matrix F, from Equation 2,F=inv(E′)*L.  [Eq. 3]Values of E are chosen for the lowest constant column-sum while keeping E invertible, with a low condition number and with a low RMS and Peak Error for F per Equation 2, using fixed-point simulation including fixed-point elements of inv(E). Usually the columns of excitation matrix E are cyclically shifted versions of the 1st column
If the panel is fully uniform, i.e., all elements in F(r,c) are equal to a constant β, and the variation in F(r,c) is only 1-5% with touch, then Equation 1 is approximately the column-sum of E for the cth column, multiplied by constant β*T where T is the integration period. Even though E is chosen for the smallest column-sum, the dynamic range of the A/Ds 437, which are positioned after the integrate-and-dump blocks 435, can be improved by having the column-sum equal to zero. This is done by subtracting a constant ‘d*β*T’ from the column signal:L2=L−d*β*T=E′*F−d*β*T, where d=−sum(any column of E).  [Eq. 4]From above,F=inv(E′)*L2−d*β*T*inv(E′), andF=inv(E′)*L2−D, where D=d*β*T*inv(E′) is a constant R×C matrix.
The value of D is not computed directly since it cancels out in the baseline correction for computing the finger image profile Fp (given below for the fth frame):Fp=F−B, where B=mean(F without finger) taken over many frames.Fp=(inv(E′)*L2−D)−mean[inv(E′)*L2(without finger)−D]. Fp=inv(E′)*L2−mean[inv(E′)*L2(without finger)].  [Eq. 5]As seen in Equation 5, the finger profile is extracted without actually computing the value of D.
Referring back to FIG. 4, the matrix L is pre-multiplied by the inverse of E, 450, to produce the panel mutual capacitance matrix F, 460. The value of F is averaged when there is no finger in the proximity in order to compute the baseline B. When elements (i.e., pixels) in F are detected with significant deviation from their corresponding baseline values, the presence of a finger is assumed. In this case, the baseline B is subtracted from the current matrix F to produce the finger image profile Fp=F−B. The matrix Fp is further processed (both spatially and temporally) to track fingers and possibly reduce interference (e.g., by temporal pixel filtering over frames of Fp).
The prior art uses non-orthogonal excitation matrices in order to keep the row-sum constant. For fast baseband signaling (carrier frequency=0, and Excitation bits are sent without gaps between successive bits in order to achieve high frame rate), when phase shift occurs over the columns, the inverse matrix multiplication that is used for extracting the touch image profile from the captured column matrix no longer operates on the correct time aligned elements in the column matrix. These misalignments or time shifts produce bleeding of touch data of column pixels into each other, and therefore result in an increase in the artificial noise floor, not related to thermal and quantization noise, but related to intersymbol interference (ISI). The problem is exacerbated by finite precision and high condition numbers of the inverse matrix multiplier. For lower speed signaling with gaps between Excitation matrix bits and for non-zero carrier frequency, the down conversion mixing that is common to the entire column significantly reduces the gain of the row signals with large phase shifts over the column, which degrades the thermal and quantization S/N for those pixels. FIG. 5A illustrates one example of a non-orthogonal 18-by-18 excitation matrix with cyclically shifted columns FIG. 5B illustrates a graphical representation of the values for the excitation matrix of FIG. 5A. FIG. 5C illustrates a graphical representation of the values for the inverse of the excitation matrix of FIG. 5A. The use of a non-orthogonal matrix results in a large inter-code interference (ICI) with a relative shift between rows. Additionally, the condition number of a non-orthogonal excitation matrix is greater than one. As a result, a non-orthogonal matrix produces a poor S/N for large panels.
Another impact of the phase shift over the column is that the sum of rows for each column is no longer constant, and can become very large for a large panel. As a result, the DC cancellation is not effective, and the dynamic range of the A/Ds has to be increased by several bits.
What is needed in the art is a way to improve the performance of mutual capacitance touch screen controllers with respect to excessive phase shifts caused by large panels, while avoiding the 90-degree panel rotation used in the prior art. As discussed above, although the 90-degree panel rotation allows a lesser number of rows than columns, and therefore smaller column lengths, this result is achieved at the expense of increased power and silicon die area in the touch screen controller.